/*
 * Esse arquivo é parte do Software de Segurança do LaPEC
 * 
 * Copyright (C) 2012-$AnoCorrente$ Dyego Ítallo Silva Ferreira
 * Copyright (C) 2012-$AnoCorrente$ Eduardo Moreira Barbosa
 * Copyright (C) 2012-$AnoCorrente$ João dos Santos Gonçalves
 * 
 * LaPEC é um Software Livre: Você pode redistribuí-lo e/ou modificá-lo
 * de acordo com os termos da Licença Pública Geral GNU (GNU General Public License)
 * conforme publicada pela Free Software Foundation (FSF). Essa permissão é atribuída
 * na versão 3 da Licença, ou (na sua opinião) qualquer versão.
 * 
 * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este programa,
 * se não, escreva para a Fundação do Software Livre(FSF) Inc., 51 Franklin St, Fifth Floor,
 * Boston, MA  02110-1301  USA
 * 
 * Se você tiver alguma dúvida e/ou quiser dar suporte ao desenvolvimento, favor entrar em
 * contato nos e-mails <dyegoitallo@gmail.com>, <barbosa.edrd@gmail.com>, <john.jsg@hotmail.com>.
 */

package usuario;

import biometria.Digital;

/**
 * Classe que será mãe de todos os usuários do sistema
 * @author Dyego Ítallo Silva Ferreira
 */
public abstract class Usuario {
    
    // ===============================================================================
    // Atributos
    // ===============================================================================
    private String  nome;
    private String  senha;
    private String  matricula;
    private Digital digitais[];
    private int cargo;
    
    // ===============================================================================
    // Construtor
    // ===============================================================================
    public Usuario() {
        this.matricula = null;
        this.digitais  = new Digital[10]; //1 - polegar direito; 2 ...
        this.nome      = null;
        this.senha     = null;
    }

    // ===============================================================================
    // Getters e Setters
    // ===============================================================================    
    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }    
    
    public String getMatricula() {
        return matricula;
    }

    public void setMatricula(String matricula) {
        this.matricula = matricula;
    }

    public int getCargo() {
        return cargo;
    }

    public void setCargo(int cargo) {
        this.cargo = cargo;
    }
    
    // ===============================================================================
    // Métodos
    // ===============================================================================
    public void adicionaDigital(Digital digital) {   
        this.digitais[digital.getNumDedo()] = digital;
    }
    
    public void removerDigital(Digital digital) {
        //usar o outro metodo
    }
    
    public void removerDigital(int numDigital) {
        
    }
    
    public void alterarDigital(Digital digitalAnterior, Digital digitalNova) {
        
    }
    
    public void alterarDigital(int numDigital, Digital novaDigital) {
        //usar o outro metodo
    }
    
    /**
     * Retorna o array de digitais cadastradas para o usuário.
     * @return o array de digitais.
     */
    public Digital[] getDigitais() {
        return digitais;
    }

    public void zerarDigitais() {
        
    }
    
}